1-1

SPEECH 

Man's ability to articulate sounds for the purpose of communicating ideas distinguishes him from 

the rest of the animal kingdom. This ability, which we now take so much for granted, was once 

thought to have been conferred upon man by the gods themselves. In the Book of Genesis, for 

example, Adam is given the power of speech by the Lord in order to name the animals, thereby 

demonstrating his likeness to God. Given such history, it is not surprising that man perceived the 

power of speech as an integral part of his quest for divinity. 

As man evolved and had more needs and desires to articulate, a complex system of speech organs 

was developed in order to provide a more varied and sophisticated means of expression. The 

human voice is now capable of a wide range of sounds from grunts to operatic cadences. It was 

only natural that, as man's brainchild, the computer became more complex and imitative of 

human abilities, it would reach a stage of evolution which would require the ability to 

communicate in a more human fashion. 

MOCKINGBOARD gives your computer the power of speech. Like a human, it will read text 

aloud pronouncing each word according to a series of rules. These rules are the basis for Sweet 

Micro Systems' method of converting text into a code MOCKINGBOARD can understand. 

MOCKINGBOARD will allow you to introduce expression into the voice. Expression is 

important to the intelligibility and the meaning of the words spoken. The Sweet text to speech 

program automatically sets the speech parameter s for general use and allows you to introduce 

stress and intonation to text by using special markers. You may change these parameters to create 

interesting voices. 

There are many exceptions to standard pronunciation rules. Names are especially difficult and are 

frequently mispronounced. Remember how your teacher stumbled through her class list on the 

first day of school? How disappointed you must have been if your name was incorrectly 

announced to the class! 

If MOCKINGBOARD has trouble with your name or names of family members and friends, 

you can easily correct it and we'll show you how. We know the name, Robert, is mispronounced. 

We will step through the corrections necessary, and in the process tell you about 

MOCKINGBOARD's features, capabilities and our method of converting text into speech. 

1-2

A special section explains how to enhance your programs with speech you create using the Rule 

Editor or using the text to speech program right in a program of your own creation. 

ADD INFLECTION WITH THE DIRECTOR'S CUES 

MOCKINGBOARD is all set to start talking. With a little assistance, MOCKINGBOARD will 

express itself with the use of inflection or pitch patterns, and show emotion. Limited use of 

inflection is automatically performed by the program. For example, it recognizes punctuation 

marks and responds accordingly. You will be able to employ inflection more creativity as you 

compose your sentences. 

Boot your demonstration disk and select A for speech and then select the Rule Editor from the 

Speech menu. You will be asked to SELECT CHARACTER TABLE TO EDIT. Type A and the 

A rule table will appear. Type T for Test Mode at ENTER COMMAND. Now we are ready to 

proceed. 

The cursor, next to the question mark, is ready for you to type in a word. After you type the 

word, press the return key. The word will be spoken at an average speed, in an average voice 

with minimal variation or emotional coloring. These speech characteristics have been preset to 

normally used values. If you would like MOCKINGBOARD to be more expressive, you may 

take advantage of its interpretive talents. MOCKINGBOARD's theatrical abilities are not to be 

underestimated. 

Fine actors, regardless of their talent, require good directors. MOCKINGBOARD may be 

directed by inserting special markers into the text as it is typed in. These markers will tell 

MOCKINGBOARD when to show emotion, It already recognizes normal punctuation marks, 

such as commas, periods and question marks, and will respond with an appropriate pause, or 

raise or lower its voice. You may also place emphasis on a particular word or syllable, by 

inserting slash key stress markers (/) as cues to indicate when MOCKINGBOARD should play 

up a scene. 

From the Test Mode, enter the word, "Hello," at the prompt. Think, like a good director, of the 

different ways that HELLO can be interpreted. When an actor speaks, he conveys emotion by 

changing the pitch, volume, and rate at which he speaks. Press return and listen. How could you 

make this word more expressive? Try typing in the following examples. Each time you wish to 

clear an entry, type N for new entry. Should you wish MOCKINGBOARD to repeat itself, 

type R for repeat. The comments to the right explain

1-3

what effect the markers have on the word. (Note: You do not have to type the question mark, it 

will appear automatically. 

?HELLO ....would have no variation in stress 

?/HE/LLO ....would stress HE

?HELL/O/ ....would stress O

?HELLO? ....would cause a rise in pitch at the end

?HELLO. ....would cause a drop in pitch at the end 

Other combinations of punctuation marks and stress marks are also possible. Stress markers 

generally work in pairs, but you may insert any number of them into a text. The number of stress 

markers and their position will determine how each word or syllable will be spoken. Be 

experimental! 

Try typing the following examples, and listen to MOCKINGBOARD perform. 

 

INFLECTION DIAGRAM I: DECLARATIVE SENTENCE 

 

Mary had a /li/ttle lamb. 

 

 

 

 

 

MOCKINGBOARD has just described Mary's pet. Diagram I shows the inflection pattern, or 

the rate of change of pitch, for a basic declarative sentence, which emphasizes the lamb's size. 

The English language has several levels of pitch. Our text to speech method approximates these 

levels by using four main pitch levels. These levels are designated by the digits which appear on 

the left side of the diagram. 

"Mary had a little lamb" is spoken at pitch level two until the first stress marker is encountered. 

At the first stress marker, the pitch rises from level 2 to level 3. It will remain at level three until 

another marker is encountered. At the second stress marker, the pitch will glide up or down 

depending on the final punctuation. A period at the end of a sentence, as in this example, 

indicates a drop in pitch. If no final punctuation mark exists, then a period is assumed. 

 

1-4

lf we want MOCKINGBOARD to show more feeling, we must give it additional direction. Try 

typing, "/Mar/y had a/li/ttle lamb." 

INFLECTION DIAGRAM 2


/Mar/y had a /li/ttle lamb.

 

 

 


 

 

This diagram shows the change of pitch for a declarative sentence with more than two stress 

markers. In this example, the pitch starts at level 3 and rises to level 4 upon reaching the first 

marker. The second marker signals a drop in pitch to level 2. Upon reaching the next pair of 

markers, the pitch level will again rise and then fall until the period is encountered. 

MOCKINGBOARD's recitation of "Mary had a little lamb" deserves an ovation. The dual 

stress pattern was interpreted with greater emphasis on the first pair of markers than on the 

second, Such a stress pattern, in which the initial stress is more emphatic than stresses which 

follow, is typical of the English language, 

Perhaps you would like MOCKINGBOARD to ask some questions about Mary?. Let's change 

some of the cues and try some interrogatives. Type "Mary had a/li/ttle lamb?" 

 

 

INFLECTION DIAGRAM 3, INTERROGATORY STATEMENT 

 

Mary had a /li/ttle lamb? 

 

 

 

 

If you compare this recitation with INFLECTION DIAGRAM I, you will see that the 

performance differs only at the end where the different cue has caused a rise in pitch instead of a 

drop. The difference in pitch may appear to be insignificant, but we must remember that pitch 

assists us in interpreting a speaker's intent and helps us to recognize when he is stating or 

questioning. We are now doubting the lamb's small size. 

1-5

The director's cues are actually much more sophisticated than they may appear. The stress 

markers not only cause MOCKINGBOARD to change its pitch, but also its volume, the number 

of words spoken per second and finally, the voice itself. When a syllable is stressed, it generally 

becomes louder, the speech rate slows to make the syllable longer, and the voice quality changes 

slightly. You can achieve all of these theatrical effects simply by typing in normal punctuation 

and experimenting with the stress markers. 

ADD TEXTURE TO THE VOICE 

As Director, you have only begun to utilize MOCKINGBOARD's many talents. With your 

assistance MOCKINGBOARD can change its voice. MOCKINGBOARD's voice is described 

by four parameters: amplitude, inflection, filter frequency and speech rate. These parameters 

have been preset to values which will appear in the lower half of the Test Mode screen. 

CURRENT PARAMETERS

 

11 -AMPLITUDE 232 -INFLECTION 

B -FILTER FREQUENCY 8 -SPEECH RATE 

Should you wish to change any of these parameters, the commands below will allow you to do 

so. The mark is defined as the control key (or CTRL). 

 

COMMAND RANGE COMMAND RANGE

 

^A AMPLITUDE 0-11 ^F FILTER FREQUENCY 0-253

^I INFLECTION 0-25 ^R SPEECH RATE 0-13

 

NOTE: If you typed a word or phrase to be spoken and have not cleared it with an N for new 

entry, you will not be permitted to make any changes. The CURRENT PARAMETERS display 

is replaced by an ENTER COMMAND: prompt which will only accept R for repeat, N for new 

entry or Control-S for save the word. Type N for new entry and you will be returned to an entry 

mode to make changes. 

1-6

SOFT TO LOUD VOICE, ^A, AMPLITUDE

MOCKINGBOARD can speak in a variety of voices. It can speak in a barely audible whisper, or 

for stage purposes, in a deep sonorous voice. 

Volume or amplitude, may be adjusted with the ^A command. Type Control-A. The program 

will respond with a prompt. 

ENTER NEW AMPLITUDE SETTING 

You may enter any setting from 0 to 11. The normal setting is set at 11. Try 4 and press return. 

The new setting will be reflected in the CURRENT PARAMETERS Table. 

CURRENT PARAMETERS 

 

4 -AMPLITUDE 232 -FILTER FREQUENCY 

8 -INFLECTION 8 -SPEECH RATE 

Now type in "Hello." If MOCKINGBOARD spoke too softly, type N for new entry, and A for 

amplitude. This time, try typing in 8, press return, and check for the new value in the 

CURRENT PARAMETERS Table. Direct MOCKINGBOARD to speak again. When you are 

satisfied that MOCKINGBOARD is speaking at a proper volume, you may turn your attention 

elsewhere. 

LOW TO HIGH VOICE, ^I, INFLECTION

Different roles or personalities require different voices. A child speaks in a high pitched voice, an 

adult male in a low pitch. With your direction, MOCKINGBOARD can utilize its talents and do 

impersonations. 

Suppose that MOCKINGBOARD was asked to play an evil villain in a theatrical production. Its 

normal voice won't do at all. In order to change pitch or inflection, type Control-I in the Test 

Mode. A prompt will appear to assist you. 

 

ENTER NEW INFLECTION SET NUMBER 

You may enter any value from 0 to 25, When you change the inflection set, you are moving the 

four main pitch levels up or down on a musical scale. An evil character requires a very low voice, 

so let's type in 0, and press return. The new value will appear in the CURRENT 

PARAMETERS Table. Now type "/WEL/COME TO MY DOMAIN," press return, and meet 

your villain. 

1-7

MOCKINGBOARD's talents are far too great to play only evil character types. Let's create 

another role. Type N for new entry, I for inflection and set the inflection set to 25. Press return. 

MOCKINGBOARD will now speak like a little child in a very high pitched voice. Type 

"M/OMM/Y?" and press return. MOCKINGBOARD's versatility will amaze you. 

SLOW TO FAST VOICE, ^R, SPEECH RATE 

Some roles will require that MOCKINGBOARD speak very quickly. The speech rate may be 

adjusted on a scale from 0 to 13, from excruciatingly slow to incredibly fast. Type Control-R for 

the prompt: 

ENTER NEW SPEECH RATE: 

Set the speech rate to 1 and press return. Also, type ^I for inflection and change it back to 8. 

MOCKINGBOARD's new line is, "I am s/o/tired," and it is spoken as though 

MOCKINGBOARD will be asleep before it reaches the word "tired." (Don't forget to type the 

stress markers around the O.) On the other hand, type in a speech rate of 11, and press return. 

Now type "Peter Piper picked a peck of pickled peppers," and press return. 

MOCKINGBOARD never stutters. 

ALTER THE VOICE QUALITY, ^F, FILTER FREQUENCY 

The last parameter you may adjust is the Filter Frequency or voice quality. One of 

MOCKINGBOARD's greatest virtues is its ability to change its voice, if you type Control-F in 

the Test Mode, the prompt will read: 

ENTER NEW FILTER FREQUENCY NUMBER: 

By typing in any number from 0 to 253, and pressing return, you may direct 

MOCKINGBOARD to speak in a different voice. Type in 242 and press return. Change the 

speech rate back to 8. Type "TAKE ME TO YOUR LEADER." MOCKINGBOARD could 

play a creature from outer space. 

Let's try another. Type N and Control-F. Suppose we type 220 and press return. 

MOCKINGBOARD's voice acquires a previously undiscovered dignity. If MOCKINGBOARD 

now says, "YOU ARE A/GREAT/ DIRECTOR," we can believe it. 

 

 

1-8

PULLING IT ALL TOGETHER 

MOCKINGBOARD's abilities may be further explored by changing more than one parameter at 

a time. Try changing Filter Frequency and Inflection together. Any combination of the four 

parameters is possible, so you may create an unlimited number of voices. 

Let's go back to the evil villain and make his voice more convincing. What the voice lacked earlier 

was the appropriate filter frequency.

Change the inflection to 0 and the filter frequency to 220, giving the speech a lower and deeper 

voice quality. Also slow the speech rate to 6. Now, type "/WELCOME/ TO MY DOMAIN. 

HA, HA, HA." 

The child's whimper was high in pitch, but the voice quality was too strained. Change the voice 

quality to produce a softer, more innocent cry. Type 20 for inflection, 240 for filter frequency 

and 2 for speech rate. You may also lower the amplitude, if you wish. Type "/MOMMY? /I/ 

LOVE YOU." 

SAVE THE WORDS CREATED, ^S, SAVE

As you develop words or phrases using the above methods, you may wish to save them. While 

the words and speech parameters are still on the screen, type CONTROL-S for save. DO NOT 

TYPE N FOR NEW ENTRY BEFORE YOU TYPE CONTROL-S. This will erase your words. 

Remember that after you enter a word, the only acceptable commands are N for new entry, R for 

repeat and S for save. When you type S you will be asked to enter a filename. 

ENTER FILENANE: 

You may enter any filename up to eight characters in length beginning with a letter A-Z. The 

following message will appear while the new file is written to your disk. 

PLEASE WAIT &endash; SAVING COMPOSITE FILE 

 

The words you save may be used for current or future programs you may wish to enhance with 

speech. Please refer to the section on programming information for samples and an explanation of 

how you incorporate speech into your work. 

We have only whetted your appetite. With all the features presented in the previous pages, you 

may create whatever creature or character your imagination dictates. MOCKINGBOARD's 

talents are constrained only by your imagination. 

1-9

THE RULE TABLE 

Sweet Micro Systems' method of converting text to speech is rule based. Words are broken into 

sound patterns, which are represented by rules. MOCKINGBOARD matches these rules to 

characters in words or phrases. When a match is made, MOCKINGBOARD speaks. 

The quality of rules developed in each character table will determine the accuracy of the resulting 

speech. Our language presents a formidable challenge in developing a comprehensive rule table. 

The Sweet table should be considered a base rule table, which may be personalized to suit your 

particular application. Sweet Micro Systems has made an effort to free you from a predetermined 

vocabulary and pronunciation, by including a utility called the Rule Editor. The Rule Editor will 

allow you to alter the Sweet table. New rules may be added, existing rules may be edited or 

redefined, and nonessential rules may be deleted from the tables. Personalize the Sweet table and 

let MOCKINGBOARD tell you what you want to hear. 

A WORD ABOUT PHONEMES 

MOCKINGBOARD produces speech using a building block method of combining basic sound 

units called phonemes. In order to teach MOCKINGBOARD to speak intelligibly, we must train 

our ears to hear individual phonemes in our own speech. MOCKINGBOARD can produce 64 

speech sounds in all, more than enough to reproduce any speech you care to hear. 

Phonemes may be divided into two distinct categories, consonants and vowels. A list of 

MOCKINGBOARD's phonemes, codes, and a key to their pronunciation are provided in 

Appendix A, pages A- 1 and A-2. The chart is divided into two tables, one for vowels and the 

other for consonants. The phonemes are listed in the first column of each table. Each phoneme 

has four possible codes, which allow the user to select different durations for each sound. By 

referring to the examples and experimenting with phoneme length, anyone can produce highly 

intelligible speech. 

Depending on where you live, your pronunciation of certain words may vary from 

MOCKINGBOARD's pronunciation. You will find that some words pronounced by 

MOCKINGBOARD will conflict with what you would normally expect to hear. Don't hesitate 

to change the pronunciation of any word you wish. MOCKINGBOARD has a great capacity to 

learn. 

1-10

Boot the demo disk and select A for speech and then select Text to Speech, Type your name 

following the question mark and press return. How did MOCKINGBOARD do? If 

MOCKINGBOARD pronounced your name correctly great! If not, let's correct the rule table so 

MOCKINGBOARD will always get it right. 

Type QUIT to exit the Text to Speech mode and select the Rule Editor. The Rule Table has been 

designed to generate correct pronunciation for a majority of words. It operates using a text to 

speech method which allows the computer to analyze text, much in the way a person talks. 

Should the computer not be informed about a particular rule for pronunciation it will, like a 

human, make mistakes. Errors will occur because our alphabet is not an accurate representation of 

our phonemic system. There is not a one-to-one relationship between an alphabet letter and a 

particular phoneme. If you think back to your grade school days, you will remember the 

difficulties first graders have with the rules for silent e, the e which is not pronounced but signals 

a change in the preceding vowel. 

HOW TO MAKE CHANGES TO THE RULE TABLE

^Z, SELECT

When the Rule Editor is ready, you will see the following prompt at the top of the screen. 

SELECT CHARACTER TABLE TO EDIT 

The Rule Table consists of all alphabet letters, all digits and their upper case symbols, and all 

punctuation marks. In order to demonstrate how to correct the Rule Table, we have selected the 

name, "Robert," which we know is mispronounced. Type R for the R character table, The R 

table will appear on the screen. It should look like Figure 1&endash;1.

The first two lines tell you where you are in the rule table and the present status. The number of 

rules (B), address (C), and bytes (D) will constantly change as you edit the table. 

Ten rules will appear on the screen at a time. If the character table contains more than ten rules, 

press the space bar to advance to the next ten. When you reach the end of the table, press the 

space bar to return to the first ten rules. 

1-11

[A] RULE TABLE &endash; R NUMBER OF RULES - 16 [B] 

[C] ADDRESS &endash; 34494 LENGTH - 160 BYTES [D] 

1. !(R)! =OESC

2. !(READY)! = I D4A4A2501

3. !(READ) = ID414125 

[E] 4. !(REC)+ = ID0130 

5 !(REC) = ID0A29

6 !(RE)^ # = ID01

7 (RE)D = ID0A

8 (RHY)TH = 1D07

9 (RH) = ID

10 (RINE)! = I D0138 

[F] ENTER COMMAND: 

Figure 1 - 1 Screen Display of a Character Rule Table 

KEY TO THE RULE TABLE 

[A] Indicates which character table you are viewing.

[B] Indicates the total number of rules contained in this table

[C] Indicates the starting address in memory where this table can be found

[D] Indicates the total length (in bytes) of this table

[E] The first ten rules

[F] Type one of the editor commands in Table I &endash; I 

KEY FUNCTION KEY FUNCTION 

 

^Z Select new character table U Update Main Rule Table

E Edit an entry ^S Save Rule Table to disk

I Insert a new rule ^L Load Rule Table

D Delete an entry ^P Print Character Table

T Test mode ^Q Quit or exit program

^X Help menu 

 

SPACE Advance to next page of current Character Table 

Table 1- 1 List of Rule Editor Commands 

 

1-12

LET'S HEAR IT 

The Rule Editor has a test mode which allows you to evaluate MOCKINGBOARD's 

pronunciation.of a word or phrase. You will be able to access this mode from any character table, 

and once in this mode, you may type any word or phrase. 

T, TEST MODE 

Type T for the Test Node and a screen similar to that of Figure I -2 will appear. The Test Node 

will allow you to enter 239 characters or about six and a half lines of characters at the question 

mark prompt. A beep will tell you that you have reached the limit. Type the letter U until you 

hear a beep. Press return and listen to the results. The sequence of two digit numbers at the lower 

half of the screen are the phoneme codes selected from the rule table by the text to speech 

conversion program. When you typed the return, the U's were converted to code using the 

rule(s) matching this character string. 

TEXT TO SPEECH TEST MODE

? 


CURRENT PARAMETERS 

11 -AMPLITUDE 232 -INFLECTIGN 

8 -FILTER FREQUENCY 8 -SPEECH RATE 


Figure 1-2 Test Mode Screen Display

 

KEY FUNCTION KEY FUNCTION 

R Speak again ^A Set amplitude

N New entry ^L Set inflection

^S Save word or phrase ^F Set Alter frequency

^Z Return to Editor ^R Set speech rate level

^X Help menu

 

 

SPACE Advance to next phoneme page 

 

Table I -2 Test Mode List of Commands 

 

 

1-13

LOCATE THE SOURCE OF THE PROBLEM 

Type N, to clear the input area for a new entry. Type Robert next to the question mark prompt 

and press return. It sounds close, but not quite right. The sequence of two digit number s at the 

bottom half of the screen represents the phoneme codes selected for Robert. If you compare each 

of these phoneme codes with those of the Phoneme List in Appendix A, page A- I and 2, you 

will find that this name is pronounced as /ROWBFRT/ and not as /RAHBERT/, which is correct. 

ID 11 A3 64 SC 68 C0

/ R O W B ER T PAUSE / 

 

In order to change the /OW/ sound to an /AH/ sound we must first determine which rule caused 

the error. Let us return to the rule table. Type N to clear for a new entry. Type Control-Z to 

return to the table from which you entered the Test Mode. Rather than go directly to the O rule 

table, we must first search the R rule table. The rules in the R table always define how the letter 

R will be pronounced, but the next character(s) in sequence may also be included in the R rule. It 

is possible that a rule which exists for (RO) caused the error. 

HOW TO READ A RULE 

Each rule in the table consists of three main parts, the rule definition on the left, the equals sign, 

and the phoneme codes on the right. The first rule of the R table states that R [ 1 ], which is 

preceded and also followed by a nonalphabetic character [2], is to be pronounced [3] as the 

composite sound of /AH-ER/, which is equal to the code OE5C [4], 

[1] 

 

1 !(R)! =OESC

 

[2] [3] [4] 

[I] Parentheses serve as boundary markers. They act to identify the particular character or 

characters which are to be matched. In this rule, only R will be pronounced. 

[2] The exclamation points indicate a nonalphabetic character which can be a space, punctuation 

mark, digit, or any other symbol except those which have been reserved as classification symbols 

(See Table 1-3). 

1-14

[3] The equal sign acts to assign the phoneme code to the contents of the parentheses.

[4] If all the conditions on the left are met, then a match is achieved and the contents of the 

parentheses will be pronounced as indicated by the phoneme code(s) to the right. The codes are 

set aside in a buffer (a temporary memory location) until the entire word or phrase has been 

converted.

Other symbols used in rules are given in Table I -3a. The symbols help to generalize rules to 

encompass as many words with the same pronunciation pattern as possible. For example, a rule 

states that the letter A, preceded by any single consonant ( ^) and followed by the letter T, is to 

be pronounced as a short A. This r ule may match the word BAT, CAT, FAT, HAT, NAT, 

PAT, RAT, SAT, etc. It will also match BATTLE, CATTLE, RATTLE, BATCH, CATCH, 

HATCH and so forth. This single rule will insure that the letter A, in all these words and many 

more like them, will be pronounced correctly.

How does the program know that B, C, F, etc. are consonants? The program is told. Each letter 

in the alphabet is classified as shown in Table I -3b. When Robert was typed, the program 

converted it to these symbols and set it aside for reference. 

Symbols for VOWELS Symbols for CONSONANTS 

# one or more vowels ^ one consonant 

+ vowels E I Y . consonants BDGJLNNRVWZ 

: zero or more consonants 

 

Symbol for CHARACTER Symbol for ALL OTHERS

use the character ? nonalphabetic

Table I -3a Classification Symbols used in rule 

 

A B C D E F G H I J K L M

# . ^ . + ^ . ^ + . ^ . .

 

N O P Q R S T U V W X Y Z

# ^ ^ . ^ ^ # . . ^ + .

 

Table I -3b Classification Symbols: used in conversion

1-15

Rule number I does not apply to Robert, because the O in Robert fails to match the exclamation 

point on the right of R. 

/ ROBERT /

 

! R ! 

If we had typed in "R" alone, a match would have been achieved. The text to speech program 

automatically inserts a space on either side of a word or phrase to be converted, to mark where it 

begins and ends. Therefore, the exclamation point on the left matches the space which precedes 

the name, Robert. A match is not achieved on the right, because the letter O is a vowel, not a 

nonalphabetic character. 

Compare the name, Robert, to the remaining rules in the R table. Each letter could be represented 

by its own character or a general symbol defining a vowel or a consonant. The letters in the name, 

Robert, may be represented by these symbols: 

R O B E R T 

. # . + . ^ 

^ ^ # ^ 

Upon examination, we will see that a match will not occur until the last rule: (R) = I D. 

The last rule states that R in any environment, excluding the rules preceding it, will be 

pronounced as the R in the word, "rat." Rule number 16 only defines the pronunciation for the 

letter R, and not the sound of the letter O. Therefore, we must look to the next letter in sequence, 

the letter O, to locate the source of the mispronunciation.

1-16

We now proceed to the O table, type Control-Z to select a new character table and then O. If 

you page through the O table looking for a match, you should find a page of rules similar to 

Figure I -3. 

RULE TABLE &endash; O NUMBER OF RULES - 88

ADDRESS &endash; 34420 LENGTH - 849 BYTES

 

61 (O)^AGE=0E

62 (O)^A = 1163

63 (O)^E = 11A3

64 (O)^I# = 1163

65 (O)^ICE = 51A3 

66 (O)^L# = 11

67 (O)^U = 11 

68 (O)^U = l 1

69 (O)^Y = 1 l

70 (OUGHT) = 1028 

ENTER COMMAND 

Figure I -3 The O Rule Table 

A quick glance over the table indicates that all of these rules, with the exception of number 70, 

define a sequence of letters in which O must be followed by one consonant. To the left of O no 

symbol or character exists. This means that the rule is not affected by what precedes O and this 

position is left unconstrained. 

So far any rule from 6 I to 69 could match Robert. Since it does not matter what precedes O and 

it is the only character within parentheses, we check for a consonant to the right and find B. To 

the right of B is the vowel E. Search the rules, starting with 61, for "E, ^+ or ^#. Rules 61 and 62 

can be eliminated since A follows . Rule 63 matches the E. Since the rule boundary ends here, a 

match is made. 

/ ROBERT / 

 

O^E

This rule states that whenever an O is followed by any single consonant and the letter E, the O 

will be spoken as the O in "boat." If we try to change this particular rule so that Robert is 

pronounced correctly, we will find that this change affects other words, such as ROBE, ROPE, 

VOTE, and HOTEL. In order to avoid the possibility of such a side effect, let us create a rule just 

for Robert, since it appears to be an exception to this rule. 

1-17

CREATE A NEW RULE 

In order to create a rule we first have to decide where to place it. the placement of a rule is very 

important, not only within a character table, but also among the rule tables. Always place your 

rule in the table represented by the first character to be pronounced (within the parentheses). 

Since the purpose of creating the rule is to insure that the name Robert will be pronounced 

correctly, we will enclose all the letters within the parentheses. This rule will be placed in the R 

Table.

I, INSERT

Type Control-Z ( ^Z) to select a new character table. Type R and the R rule table will appear on 

the screen. 

First, we must determine where this new rule should be inserted. The program will search 

through the tables sequentially in its conversion process, so it is important that all exceptions be 

listed before the general case. Otherwise, the search may end prematurely with a rule for a more 

general case. We could not, for example, place Robert at the end of the table after 

(R) = I D. 

If we tried to do so, our search would end with the above rule. This is a default rule which will 

match any word with an R since it does not specify what is to the left or right of R, the program 

would proceed to the next character search without ever reaching our Robert rule. 

In the event that you are working with a table of many exceptions, it is wise to alphabetize the 

exceptions without violating the exception to general case order. In this manner it is easier to 

locate and examine a particular rule. 

Since only the name Robert will match the rule we wish to create, it may be placed anywhere as 

long as it is before the last rule. For this example, let's place it in alphabetical order. Search 

through the table and find: 

14 (RI)V = 1D07

15 TH(ROUGH) = 1D16 

The Robert rule could be placed between these two rules. (Note: this is an example. These rules 

may not appear in this manner or consecutively.) Now

1-18

that we know where we would like to place the rule, let's write it. Type I for Insert. You will be 

prompted with the instruction. 

ENTER RULE TO INSERT AT PROMPT BELOW 

Type the first part of the rule as it appears below next to the > prompt. DO NOT PRESS 

RETURN! If you did press return, just press return again to display the Enter Command 

prompt, and begin once more by typing I for Insert. 

>!(ROBERT)! 

If while entering the rule, you make a typographical error, you may back space using the left 

arrow key and correct the error. However, if you type past the equal sign, you will not be 

permitted to back past it. If this happens, press the return. Press it again in response to the next 

prompt in order to cancel your entry. No rule will be inserted until you type in the location to 

insert. Now type the equal sign, DO NOT PRESS RETURN! 

The exclamation points in this rule represent spaces. In this way we may exclude the possibility 

of altering the pronunciation of the same sequence of letters which may happen to be contained 

in a larger word. If, for example, we write a rule for the name, ROB, and leave both sides of the 

word unspecified, it would affect the pronunciation of words such as stROBe. To avoid this, we 

may define a space to the left and right !(ROB)!, so that only these three letters would match this 

rule. Even ROBert would not match, since there are more letters to the right. 

Refer to the phoneme list on page A-1 and A-2 and look for the phoneme code for an /AH/ sound 

to pronounce Robert correctly. A portion of that table has been reproduced below. Sometimes 

there may be more than one possibility. The list of phonemes contains two /AH/ sounds, 

specified by the phoneme codes beginning with OE and OF. 

PHONEME LIST (PORTION) 

PHONEME CODE EXAMPLES 

1 2 3 4 

AE 0C 4C 8C CC dad 

AE1 0D 4D 8D CD laugh

AH 0E 4E 8E CE top, about

AH1 0F 4F 8F CF father

AW l 0 50 90 D0 saw, caught

 

1-19

Notice, that for each sound in the phoneme list, there are four possible phoneme codes. As the 

value is changed from that of column 1 to columns 2, 3, or 4, the duration of the sound is 

shortened by approximately twenty-five percent, You may select the length which sounds best 

to you. If you wish to lengthen a sound, place two phoneme codes for the same sound together. 

Try the /AH1/ sound from the first column. Type the codes as indicated below, replacing only 11 

and A3 with 0F for the 0 sound. The rule to be inserted should appear as follows: 

>!(ROBERT)! = I D0F645C68C0 

All phoneme codes are comprised of two digits. Leading zeros are necessary. Should you make an 

error, you will be allowed to back space over the phoneme code. The back space works a little 

differently with phoneme codes. A single back space will move back and erase two digits rather 

than just one. This will prevent you from entering odd numbers of phoneme code digits. Please 

note that you will only be permitted numbers and the letters A-F on the right side of the equal 

sign. Now press return, if you have not already done so. 

The program will ask you where you would like to insert the rule: 

ENTER BEFORE RULE NUMBER: 

Insert the Robert rule before rule 15, TH(ROUGH) = 1D16. This new rule will now be part of 

the table. The Editor will return to the first page of the table after inserting the rule. Press the 

space bar and find the new rule 15. 

MAKE CORRECTIONS 

Now, let's hear it. Type T for the Test Mode. Type Robert after the question mark prompt and 

press return. How does it sound? It sounds much better, but let's try the other /AH/ sound, OE. 

Type N for New Entry and ^Z to return to the R table. 

E, EDIT

To make changes to a rule, type E for edit. You will be prompted with the following: 

ENTER NUMBER OF RULE TO EDIT: 

Type in the number of the rule, 15. Press return, The Robert rule will now appear at the bottom 

of the screen above a prompt, so that you may refer 

1-20

to it during the edit. The entire rule MUST be reentered, not just the corrections. Partially typed 

rules will replace the original rule, in the manner typed. The rule number is not necessary. As was 

the case for the Insert command, any typographical errors must be corrected before the equal sign 

is typed. You will not be permitted to back space beyond the equal sign. If you type the equal 

sign, complete the rule, press return and type E to begin again. The rule should be completed so 

that you will not have to reconstruct the entire rule from your memory. 

Typographical errors on the right hand side of the equal sign may also be corrected using the back 

space. Remember that in order to preserve the two digit code for a phoneme, a single back space 

will move back two digits, not one, and that you will only be allowed to type number s and the 

letters A-F. Retype the rule with 0E, in place of 0F. 

= !(ROBERT)! = ID0E645C68C0 

Press return and the edited rule will replace the old one. The display will show the first ten rules. 

Press the space bar and make sure the rule was edited properly, Test it once more. It should 

sound better and more intelligible. Once you are satisfied that this new rule functions correctly, 

type U to Update the table, 

SAVE THE CHANGES

U, UPDATE

When you select a character table, this one table is copied into a "buffer" area. A buffer area is 

like a temporary work space or scratch pad. You may make additions, deletions and changes to 

the rules while they are in this area. Once you are satisfied that the character table is correct, the 

Update command replaces the old table with the new table. Eventually, all the character tables 

will be saved permanently to disk. 

The buffer area can only hold one character table at a time. if you select another character table, 

the current table in the buffer will be written over by the new table. Any changes made will be 

lost unless an update was performed. Therefore, if you would like to see another character table, 

and you are not sure if you updated the current table, type U to update. No harm will be done if 

you did update earlier or made no changes. 

1-21

S, SAVE

Once your work is updated, type Control-S to save the new table on your disk. The following 

prompt will appear at the bottom of the screen: 

ENTER FILE NAME: 

You have an option to save the corrections in the rule table you are currently working with or 

save them under another name and create a new rule table. If you would like to create a new table, 

enter any file name up to eight characters in length, beginning with a letter from A-Z and press 

return. If you want to save the corrections in the current rule table, type Control-N. No file name 

is necessary. The standard rule table, provided on the demonstration disk, is called MKB:RULE. 

After entering the name or N, the Rule Editor will respond with: 

PLEASE WAIT &endash; SAVING RULE TABLE FILES 

DELETE A RULE 

If you find that you have no use for a Robert rule, you may delete it. Any rule in any table may 

be deleted with the exception of the last rule. Each table must have at least one rule. 

D, DELETE

Assuming that you are still in the R table, type D for Delete at the ENTER COMMAND 

prompt. The program will respond with: 

ENTER NUMBER OF RULE TO DELETE: 

Type 15 and press return. The screen will display the following prompt along with the rule you 

selected. The rule will appear near the bottom of the screen. 

CONTINUE WITH DELETION? (Y/N) 

Every attempt has been made to avoid mishaps, so you must confirm your intentions. if you 

respond Y, the deletion will proceed and all the rules following this rule will move up one 

position. The display will revert back to rules 1-10. Scroll through with the space bar to make 

sure the correct rule was deleted. Also check the last rule number to confirm the new rule count at 

the top of the screen display. 

If you do not want to delete this rule, respond N, and the ENTER COMMAND prompt will 

reappear. 

1-22

OTHER USEFUL COMNANDS 

L, LOAD 

After you become more familiar with the Rule Editor, you may discover more interesting 

applications for the text to speech capabilities. For example, you may be interested in foreign 

languages and might like MOCKINGBOARD to speak, maybe German? Or perhaps, you are 

writing a program which could use some speech. The standard rule table may be too bulky to be 

used with your program. The solution is to create a new rule table for your application. You 

don't have to give this one up to get another. The demonstration disk contains a semi-blank rule 

table called MKB:EMPT. It contains the required one rule in each character table. If you do not 

wish to start from scratch, you may use the standard rule table (NKB:RULE), edit it and save it 

under another file name. This is done with the S, Save command. 

You may select a new rule table from any rule table. When you select the Rule Editor from the 

main menu, the standard rule table (MKB:RULE) will automatically be loaded. Select any 

character table and type Control-L (^L) at the ENTER COMMAND prompt. 

ENTER TABLE NAME 

Type the name of the rule table you wish to access. When a rule table is saved, three files are 

saved, the table itself, the total length of the table, and an index used to locate the character tables 

within the rule table. When a rule table is saved, .TABLE, .LENGTH, and .INDEX are appended 

to the file name automatically. The load command will automatically load the appropriate files, 

including the suffix. Therefore, when you load a table, you need only type its name 

PLEASE WAIT &endash; LOADING RULE TABLE FILES 

This prompt will appear, then the screen will clear and the initial select prompt will appear. You 

are all set to begin working with your new table. 

SELECT CHARACTER TABLE TO EDIT 

1-22

P, PRINT

The Rule Editor provides a simple to use print command to print out the individual character rule 

tables. 

Turn on your printer and type Control P. The following message will appear at the same time 

your printer begins to print. 

PLEASE WAIT &endash; PRINTING CHARACTER TABLE 

The print out will look similar to the screen display, except that all the rules will be printed out 

in succession. When it is completed, the ENTER COMMAND prompt will reappear. 

X, HELP

Control-X (^X) will display all the commands for the Rule Editor. It will also display the 

commands for the Test Mode when you are in that mode. 

Q, QUIT

When you are finished with the Rule Editor and wish to exit the program, type Z to select a new 

character rule table and type Control-Q (^Q). 

ONE FINAL INSTRUCTION 

It is important to note that your idea of the correct pronunciation may not be that of your 

neighbors. Some will prefer to say tomahto, others tomato. The Rule Editor allows you to change 

rules to suit your listening pleasure. It's yours! Go ahead and make MOCKINGBOARD say 

your own name. 